package com.ruoyi.duty.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 戒毒宣传业务对象 duty_jdxc
 *
 * @author xiaohao
 * @date 2023-01-19
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class DutyJdxcBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = {EditGroup.class})
    private Long jdxcId;

    /**
     * 活动时间
     */
    @NotNull(message = "活动时间不能为空", groups = {AddGroup.class, EditGroup.class})
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date hdsj;

    /**
     * 参与人数
     */
    @NotNull(message = "参与人数不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long cyrs;

    /**
     * 组织单位
     */
    @NotBlank(message = "组织单位不能为空", groups = {AddGroup.class, EditGroup.class})
    private String zzdw;

    /**
     * 组织人员
     */
    @NotNull(message = "组织人员不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long zzry;

    /**
     * 七进类型
     */
    @NotBlank(message = "七进类型不能为空", groups = {AddGroup.class, EditGroup.class})
    private String qjlx;

    /**
     * 活动主题
     */
    @NotBlank(message = "活动主题不能为空", groups = {AddGroup.class, EditGroup.class})
    private String theme;

    /**
     * 活动地址
     */
    @NotBlank(message = "活动地址不能为空", groups = {AddGroup.class, EditGroup.class})
    private String address;

    /**
     * 活动内容
     */
    @NotBlank(message = "活动内容不能为空", groups = {AddGroup.class, EditGroup.class})
    private String content;

    /**
     * 活动图片
     */
    @NotBlank(message = "活动图片不能为空", groups = {AddGroup.class, EditGroup.class})
    private String images;

    /**
     * 纬度
     */
    private BigDecimal lat;

    /**
     * 经度
     */
    private BigDecimal lng;

    /**
     * 签到开始时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date start;

    /**
     * 签到结束时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date end;

}
